package bomberman.modelo.personajes;

import org.jdom2.Element;

import bomberman.modelo.armas.TiraMolotov;
import bomberman.modelo.mapa.Casillero;
import bomberman.modelo.mapa.Direccion;

public class Cecilio extends Enemigo {
  private static final int RESISTENCIA_STD  = 5;
  private static final int TEMPORIZADOR_STD = 0;
  private static final int VELOCIDAD_STD    = 1;
  
  public Cecilio(Casillero unCasillero) {
    super(new TiraMolotov(), Cecilio.RESISTENCIA_STD, Cecilio.TEMPORIZADOR_STD,
      unCasillero, Cecilio.VELOCIDAD_STD);
  }
  
  public Cecilio(Casillero cas, int resistenciaRecuperada) {
	  super(new TiraMolotov(), Cecilio.RESISTENCIA_STD, Cecilio.TEMPORIZADOR_STD,
			  cas, Cecilio.VELOCIDAD_STD);
	  setResistencia(resistenciaRecuperada);
  }

@Override
  public Element serializar() {
    Element eCecilio = new Element("Cecilio");
    return (super.serializar(eCecilio));
  }
  
  public static Cecilio recuperar(Element nodoCecilio, Casillero cas) {
    int resistencia = Integer.parseInt(nodoCecilio.getAttributeValue("Resistencia"));
    int velocidad = Integer.parseInt(nodoCecilio.getAttributeValue("Velocidad"));
    int temporizador = Integer.parseInt(nodoCecilio.getAttributeValue("Temporizador"));
    Direccion direccion = Direccion.valueOf(nodoCecilio.getAttributeValue("Direccion"));

    Cecilio nuevoCecilio = new Cecilio(cas);
    nuevoCecilio.setResistencia(resistencia);
    nuevoCecilio.setVelocidad(velocidad);
    nuevoCecilio.setTemporizador(temporizador);
    nuevoCecilio.setDireccion(direccion);
    
    cas.setContenidoBajo(nuevoCecilio);
	    
	return nuevoCecilio;
  }
}
